// *******************************************************************************************************
// # エリア
//   ・トップ
// *******************************************************************************************************

$(function(){
	var isUnderIe6 = uaInfo.isIe && uaInfo.ieVr <= 6,
		isUnderIe7 = uaInfo.isIe && uaInfo.ieVr <= 7;


	/*******************************************************
	 *　この地域で検索ラッパー
	 *******************************************************/
	var appendWrapper = new APMN.AppendWrapper({
		isFixed: false,
		ieVr: !(isUnderIe6)
	});


	/*******************************************************
	 *　この地域で検索ボタン
	 * ※ 表示上カーソルが機能していないだけで、リンクはしています。
	 *******************************************************/
	var $sBtn = $('.mod_btn_append a');

	function changeSearchBtn(b) {
		if (b) {
			$sBtn.removeClass('mod_btn_disabled');
		} else {
			$sBtn.addClass('mod_btn_disabled');
		};
	};


	/*******************************************************
	 *　Inputボタン
	 *******************************************************/
	var isSelected = null;

	$('#contentTabArea').find('.box_category').each(function(i){
		
		var $self = $(this), _dispatch = false;
		$btn = $('.mod_btn_append a');
		//親			
		$self.find('li.mod_check').each(function(){
			var li = $(this);
			
			li.find('div.mod_checkbox').each(function(){		
				var paDiv = $self.parent;
				if($(this).hasClass('checked')){			
					$(this).find('input').attr('checked', true);
					if(!li.hasClass('mod_checked')){
						li.addClass('mod_checked');
					}
				}
			});
			
		});		

		
		if (!isUnderIe7) {
			$self.find('.mod_ttl_bar input').on('ifChecked', function(e){
				if (dispatch) return;
				dispatch = true;
				$self.find('li input').iCheck('check');
				changeCheckBox();
			}).on('ifUnchecked', function(e){
				if (dispatch) return;
				dispatch = true;
				$self.find('li input').iCheck('uncheck');
				changeCheckBox();
			});
			$self.find('li input').on('ifChecked', function(e){
				if (dispatch) return;
				dispatch = true;
				changeCheckBox();
			}).on('ifUnchecked', function(e){
				if (dispatch) return;
				dispatch = true;
				if ($self.find('.mod_ttl_bar.mod_check').hasClass('mod_checked')) {
					$self.find('.mod_ttl_bar input').iCheck('uncheck');
				};
				changeCheckBox();
			});
		} else {
			$self.find('.mod_ttl_bar input').on('click', function(e){
				var b = $(this).prop('checked');
				$self.find('li input').prop('checked', b);
				changeCheckBox();
			});
			$self.find('li input').on('click', function(e){
				var b = $(this).prop('checked');
				if (!b) {
					$self.find('.mod_ttl_bar input').prop('checked', false);
				};
				changeCheckBox();
			});
		};
	});
	function changeCheckBox(){
		var isSlt = false;
		$('.mod_check').each(function(e){
			if ($(this).find('input').prop('checked')) {
				isSlt = true;
				return false;
			};
		});
		if (isSelected != isSlt) {
			isSelected = isSlt;
			if (isSelected) {
				$btn.removeClass('mod_btn_disabled');
				appendWrapper.show();
			} else {
				$btn.addClass('mod_btn_disabled');
				appendWrapper.hide();
			};
		};
		dispatch = false;
	};
	
	$('.mod_check').each(function(e){
		var $self = $(this);
		if ($self.find('input').prop('checked')) {
			$self.addClass('mod_checked');
		};
		$self.find('a').on('click', function(e){
			e.stopPropagation();
		});
	});
	
	changeCheckBox();

	function submit(action, method, values) {
		//すべてのhiddenフィールドを自動追加
		//$('input[type=hidden]').each(function(index){
		//こだわりだけに変更
		$('#KodawariId').each(function(index){
			var elem = $(this);
			var val = elem.attr("value");

			values.push({name:elem.attr("id"), value:val});
						
		});
		
 	   var form = $('<form/>', {
	        action: action,
	        method: method
	    });
	    $.each(values, function() {
	        form.append($('<input/>', {
	            type: 'hidden',
	            name: this.name,
	            value: this.value
	        }));    
	    });
	    form.appendTo('body').submit();
	}

	$(".mod_btn_all").click(function() {
		if($(this).attr('id') == 'btnSimpleSearch') return; //簡単検索
		
		var params = APMN.parseConditionCookie();
		var items = params;
		items.push({name:'search_type',value:'area'});
		$('li.mod_checked').each(function(index){
            var area_id = $(this).attr("id");
			items.push({name:'target_'+index,
				    value:area_id.substring(0,2)+'-'+area_id});
		});		
		
		//★★★賃料、間取りクッキーがなければ→希望条件ページに転移
		if(APMN.hadSearch()){
			items.push({name:'page',value:1});
			submit('/rstobi/rstobi','POST',items);			
		}
		//★★★賃料、間取りクッキーがあれば→結果一覧ページに転移
		else {
			submit('/area/hope/','POST',items);
		}
		
	});
	
	//★★★リンククリックの場合も→クッキーがなければ→希望条件遷移
	$('.list_search').find('a.mod_btn').on('click', function(e){
		e.preventDefault();
		
		var params =APMN.parseConditionCookie(); 
		var items = params;
		items.push({name:'search_type',value:'area'});
		
		var id = $(this).attr("name");
		if(id != undefined){
			items.push({name:'target_0', value:id.substring(0,2) + '-' + id});
		}		
				
		if(APMN.hadSearch()){
			items.push({name:'page',value:1});
			submit('/rstobi/rstobi','POST',items);			
		}
		else {
			submit('/area/hope/','POST',items);						
		}
		
	});
	//★★★リンククリックの場合も→クッキーがなければ→希望条件遷移
	
	/*******************************************************
	 *　タブエリアの切り替え
	 *******************************************************/
	var tabAreaId = '';

	function tabContentCheck(){
		$('#tabSearch').find('li').on('click', function(e){
			if ($(this).hasClass('left') && tabAreaId == 'R') {
				tabAreaId = 'L';
				appendWrapper.changeCtsHeight();
			}
			else if ($(this).hasClass('right') && tabAreaId == 'L') {
				tabAreaId = 'R';
			};
		});
		tabAreaId = $('#tabSearch').find('li.left').hasClass('active') ? 'L' : 'R';
	};
	
	/*******************************************************
	 *　地域詳細開閉
	 *******************************************************/
	function areaDetailCheck(){
		var $btn = $('.mod_box_head_search_list .box_ttl_page .lead a.mod_link_txt'),
			$target = $('.mod_box_head_search_list .mod_box_authority_top .mod_box_section');

		var areaToggle = new APMN.ToggleOpener({
			btn: $btn,
			target: $target,
			isOpen: false
		});
		areaToggle.toggle = function(b){
			if (b) $btn.text('詳細を閉じる');
			else $btn.text('詳細を見る');
		};
		areaToggle.moving = function(b){
			if (tabAreaId == 'L'){
				appendWrapper.changeCtsHeight();
			};
		};
	};


	// init
	tabContentCheck();
	areaDetailCheck();
	
});
